Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Generalize UFS atmospheric component. Bring in MPAS dycore. #873

Draft
wants to merge 13 commits into
base: develop
Choose a base branch
from

Conversation

dustinswales
Copy link
Contributor

@dustinswales dustinswales commented Oct 7, 2024

Description

This pull request contains changes to generalize atmospheric component of the UFS Weather Model:

  1. The reorganization of the repository is to achieve the following goals:
  • Move dynamical core specific code into subdirectories.
  • Move common code (e.g. physics) into shareable, cross-dycore, higher-level directories. This is outlined in Figure 1 of the "Tiger Team" report.
  1. Refactor the CMakeLists to build an atmospheric component with either an FV3
    or MPAS dynamical core.

  2. Add CMakeLists.txt to build MPAS core_atmosphere component. The CMake recipes from the "MPAS atmospheric core" were adapted to work in the UFS build system.

  3. Modify CCPP physics CmakeLists.txt to build independent MPAS/FV3 couplings to the physics.

  4. Create "stub" mpas infrastructure. This includes stubs for the MPAS atmospheric component driver and overlaying NUOPC cap.

With these changes, the MPAS dynamical core builds within UFS.
Next steps, build atmospheric driver for MPAS, which includes creating new typedefs for coupling between the CCPP and MPAS.

Issue(s) addressed

N/A

Testing

Tested on Hera using Intel.
All UFS regression tests pass, see /scratch1/BMC/gmtb/Dustin.Swales/UFS/MPAS/ufs-weather-model/tests/logs/RegressionTests_hera.log
There is a new test in tests/rt.conf to build the MPAS dynamical core (just build, no run)

Dependencies

This PR introduces a new submodule to the UFS atmosphere, the MPAS-Model. A forked copy of the authoritative MPAS-Model has been created under the ufs-community GitHub organization.

Requirements before merging

N/A

Copy link
Collaborator

@climbfuji climbfuji left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is just a quick first pass through the PR with a few small typos/issues I found. I am not sure where the best place is to provide more general feedback on this PR, the ufs-weather-model PR, etc.

I'll post something in respons to the ufs-community/ufs-weather-model PR so that it is more visible to NOAA UFS folks, including those that don't follow the FV3ATM repo.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This submodule pointer update seems invalid

METADATA_HTML_OUTPUT_DIR = '{build_dir}/physics/physics/docs'

# HTML document containing the model-defined CCPP variables
HTML_VARTABLE_FILE = '{build_dir}/physics/CCPP_VARIABLES_FV3.html'
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
HTML_VARTABLE_FILE = '{build_dir}/physics/CCPP_VARIABLES_FV3.html'
HTML_VARTABLE_FILE = '{build_dir}/physics/CCPP_VARIABLES_MPAS.html'

? or UFS?

HTML_VARTABLE_FILE = '{build_dir}/physics/CCPP_VARIABLES_FV3.html'

# LaTeX document containing the provided vs requested CCPP variables
LATEX_VARTABLE_FILE = '{build_dir}/framework/doc/DevelopersGuide/CCPP_VARIABLES_FV3.tex'
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
LATEX_VARTABLE_FILE = '{build_dir}/framework/doc/DevelopersGuide/CCPP_VARIABLES_FV3.tex'
LATEX_VARTABLE_FILE = '{build_dir}/framework/doc/DevelopersGuide/CCPP_VARIABLES_MPAS.tex'

? or UFS?

@dustinswales
Copy link
Contributor Author

Moving this to DRAFT for the time being.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants